package com.jindy.module.homepage.service;

import com.jindy.common.core.domain.AjaxResult;
import com.jindy.common.core.domain.model.LoginUser;
import com.jindy.module.customer.domain.CustomerFollow;
import com.jindy.module.customer.dto.CustomerDto;
import com.jindy.module.homepage.vo.HomepageRespVO;
import com.jindy.module.homepage.vo.SimpleKanbanInConditionVO;
import com.jindy.module.order.domain.Order;

import java.util.Map;

/**
 * 首页Service接口
 *
 * @author zhaoxi
 * @date 2022-11-18
 */
public interface HomepageService {

    public HomepageRespVO selectHomepageRespVo(HomepageRespVO vo, CustomerDto dto, CustomerFollow follow, Order or);

    /**
     * 主页信息
     *
     * @param  or 主页信息
     * @return 结果
     */
    public Map<String,Object> selectHomepage(Order or);

    /**
     * 主页信息当天
     *
     * @param  or 主页信息
     * @return 结果
     */
    public Map<String,Object> selectHomepageDay(Order or);

    /**
     * 主页信息本周
     *
     * @param  or 主页信息
     * @return 结果
     */
    public Map<String,Object> selectHomepageWeek(Order or);

    /**
     * 查询主页本月
     *
     * @param or 主页信息
     * @return 结果
     */
    public Map<String,Object> selectHomepageMonth(Order or);

    /**
     * 查询主页本年
     *
     * @param or 主页信息
     * @return 结果
     */
    public Map<String,Object> selectHomepageYear(Order or);

    /**
     * 获取各个模块的待办数据
     * @param loginUser
     * @return
     */
    AjaxResult selectMessageCount(LoginUser loginUser);

    /**
     * 首页-简单看板-订单数据统计
     * @param simpleKanbanInConditionVO 条件参数
     * @return
     */
    AjaxResult selectSimpleKanbanInfo(SimpleKanbanInConditionVO simpleKanbanInConditionVO);
}

